package mapeo;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import objetos.DocumentoIdentidad;
import objetos.Estudiante;

public class EstudiantesMapper {

	
	
	public EstudiantesMapper() {
		super();
	}

	public List<Estudiante> parseListaEstudiante(ResultSet rs){
		List<Estudiante> resultList = new ArrayList<Estudiante>();
		Estudiante estudiante = null;
		DocumentoIdentidad documentoIdentidad = null;
		if(rs!=null){
			try {
				
				if(rs.first()){
					do{
						estudiante = new Estudiante();
						
						estudiante.setId(rs.getInt("estudiantes_id"));
						estudiante.setNombres(rs.getString("estudiantes_nombres"));
						estudiante.setApellidos(rs.getString("estudiantes_apellidos"));
						estudiante.setLegajo(rs.getString("estudiantes_legajo"));
						
						if(rs.getString("tipos_documentos_id") != null && rs.getString("tipos_documentos_id").length()>0){
							documentoIdentidad = new DocumentoIdentidad();
							documentoIdentidad.setId(rs.getInt("tipos_documentos_id"));
							documentoIdentidad.setNombre(rs.getString("tipos_documentos_nombre"));
							documentoIdentidad.setNombreCompleto(rs.getString("tipos_documentos_nombre_completo"));
						}
						estudiante.setDocumentoIdentidad(documentoIdentidad);
						
						estudiante.setNumeroDocumento(rs.getString("estudiantes_numero_documento"));
						estudiante.setCodigoVotacion(rs.getString("estudiantes_codigo_votacion"));
						estudiante.setEstadoVoto(rs.getInt("estudiantes_estado_voto")!=0);
						estudiante.setNumeroMesa(rs.getInt("estudiantes_numero_mesa"));
							
						resultList.add(estudiante);
					}while(rs.next());
				}
				
			} catch (SQLException e) {
				e.printStackTrace();
				estudiante = new Estudiante();
			}
		}
		return resultList;
	}
	
	public Estudiante parseEstudiante(ResultSet rs){
		
		Estudiante estudiante = new Estudiante();
		DocumentoIdentidad documentoIdentidad = null; 
		if(rs!=null){
			try {
				
				if(rs.first()){
					estudiante.setId(rs.getInt("estudiantes_id"));
					estudiante.setNombres(rs.getString("estudiantes_nombres"));
					estudiante.setApellidos(rs.getString("estudiantes_apellidos"));
					estudiante.setLegajo(rs.getString("estudiantes_legajo"));
					
					if(rs.getString("tipos_documentos_id") != null && rs.getString("tipos_documentos_id").length()>0){
						documentoIdentidad = new DocumentoIdentidad();
						documentoIdentidad.setId(rs.getInt("tipos_documentos_id"));
						documentoIdentidad.setNombre(rs.getString("tipos_documentos_nombre"));
						documentoIdentidad.setNombreCompleto(rs.getString("tipos_documentos_nombre_completo"));
					}
					estudiante.setDocumentoIdentidad(documentoIdentidad);
					
					estudiante.setNumeroDocumento(rs.getString("estudiantes_numero_documento"));
					estudiante.setCodigoVotacion(rs.getString("estudiantes_codigo_votacion"));
					estudiante.setEstadoVoto(rs.getInt("estudiantes_estado_voto")!=0);
					estudiante.setNumeroMesa(rs.getInt("estudiantes_numero_mesa"));
						
				}
			} catch (SQLException e) {
				e.printStackTrace();
				estudiante = new Estudiante();
			}
		}
		return estudiante;
	}
}
